def compute_4(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} for phi0 in np.linspace(3 / 2 * np.pi, 2 * np.pi, num=50): sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: #alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.2, amax=2.5, # bmin=2, bmax=2.1) #info[str(phi0)+'above'] = flag #if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s1/4/') # below: alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.6, amax=4.2, bmin=0.85, bmax=1.5) info[str(phi0) + 'below'] = (alpha, beta, flag) if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s1/4/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info)
def compute_3(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} for phi0 in np.linspace(np.pi, 3 * np.pi / 2, num=50): sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: #alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.6, amax=5, # bmin=1.6, bmax=2.4) #info[str(phi0)+'above'] = flag #if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s1/3/') # below: alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.8, amax=3.8, bmin=0.9, bmax=1.4) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s1/3/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_1(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} #for phi0 in np.linspace(0, np.pi / 2, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=35) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=-0.5, amax=2, # bmin=2, bmax=2.5) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/1/') #for phi0 in np.linspace(0, np.pi / 4, num=26): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4, amax=4.1, # bmin=1.37, bmax=1.45) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/1/') #for phi0 in np.linspace(np.pi / 4, np.pi/2, num=25): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.64, amax=4.05, # bmin=1.02, bmax=1.39) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/1/') phis = helping(r'D:/2021_04_13/s-025/1/', np.pi / 4, np.pi / 2, 25) print(phis) #aend = 3.748360768175583 #bend = 1.0619218106995882 #astart = 3.6302361382378474 #bstart = 1.0206013846691744 for phi0 in phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.8, amax=3.9, bmin=1.02, bmax=1.11) info[str(phi0)+'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/1/')# now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_1(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} #for phi0 in np.linspace(0, np.pi / 2, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=35) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=0, amax=np.pi, # bmin=1.7, bmax=2.5) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/1/') #for phi0 in np.linspace(0, np.pi / 4, num=26): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4, amax=4.1, # bmin=1.37, bmax=1.45) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/1/') #for phi0 in np.linspace(np.pi / 4, np.pi/2, num=25): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.64, amax=4.05, # bmin=1.02, bmax=1.39) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/1/') phis = helping() print(phis) for phi0 in [np.pi / 2]: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.65, amax=3.7, bmin=1.02, bmax=1.06) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/1/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_2(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} i = 0 #for phi0 in np.linspace(np.pi / 2, np.pi, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) ### # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4.4, amax=6, # bmin=1.6, bmax=2.2) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/2/') #for phi0 in np.linspace(3*np.pi / 4, np.pi, num=26): # # below: # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.9, amax=3.1, # bmin=1.2, bmax=1.4) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/2/') phis = helping(r'D:/2021_04_13/s-025/2/', np.pi/2, 3 * np.pi / 4, 25)[::-1] print(phis) for phi0 in phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.22994140625, amax=3.3082912941497646, bmin=1.0687795410156247, bmax=1.04) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-025/2/') #for phi0 in []: #1.832595714594046 1.8653206380689396 1.8980455615438334 1.930770485018727 1.9962203319685143 2.1598449493429825 # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.02, amax=3.04, # bmin=1.21, bmax=1.24) # info[str(phi0) + 'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def main(): chi = 1 alpha = 2.5 * np.pi / 2 beta = 2 robs = 15 phiobs = np.pi / 2 thetaobs = 1.25 r0 = 8 theta0 = np.pi / 2 phi0 = np.pi s = -1. dir = r'D:/2021_04_26/phi_pi/s-1/' dr = 0.2 res = rpt(r0, phi0, theta0, dr, num=15) info = {} start = time.time() #plotting(s, chi, r0, phi0, alpha, beta, phiobs=np.pi/2, thetaobs=1.25, re=res[0][0]) for item in res: rr, tt, pp = item for r, t, p in zip(rr, tt, pp): print(r, t, p) sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) sol.r0 = r sol.theta0 = t sol.phi0 = p eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) if not os.path.isfile(dir + '%.8f_%.8f_%.8f.csv' % (r, t, p)): alpha, beta, flag = eop.find_critical_angles(half='right', bmax=1.7, bmin=1.9, amax=4.8, amin=4.3) info[f'{r}_{p}_{t}'] = flag if flag: eop.save_to_csv(alpha, beta, dir) else: print('Already existing.') ti = time.time() - start print(f'Took {ti}s ({ti / 60}m)')
def compute_2(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} i = 0 #for phi0 in np.linspace(np.pi / 2, np.pi, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) ### # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4.4, amax=6, # bmin=1.6, bmax=2.2) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/2/') #for phi0 in np.linspace(3*np.pi / 4, np.pi, num=26): # # below: # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) ## alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.95, amax=3.05, # bmin=1.2, bmax=1.4) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/2/') phis = helping(r'D:/2021_04_13/s-1/2/', np.pi / 2, 3 * np.pi / 4, 25)[::-1] print(phis) for phi0 in [np.pi / 2]: #phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.615560937897893, amax=3.86542, bmin=1.019541796675809, bmax=1.03574537) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/2/') #alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.4439712973205476, amax=3.76542, # bmin=0.934534587, bmax=1.0170462174800967) now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_1(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} #for phi0 in np.linspace(0, np.pi / 2, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=35) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=-0.5, amax=2, # bmin=2, bmax=2.5) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/1/') #for phi0 in np.linspace(0, np.pi / 4, num=26): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4, amax=4.1, # bmin=1.37, bmax=1.45) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/1/') phis = helping(r'D:/2021_04_13/s-075/1/', np.pi / 4, np.pi / 2, 25) print(phis) for phi0 in [np.pi/2]:#phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: #alpha, beta, flag = eop.find_critical_angles(half='right', amax=3.7039775439514466, amin=3.6300005299999998, # bmax=1.0373924791885802, bmin=1.017936318750000) a = (3.7099747776643826 + 3.6100005299999998) / 2 b = (1.043015681586237 + 1.0179363187500001) / 2 - 0.00253 eop.save_to_csv(a, b, r'D:/2021_04_13/s-075/1/') #info[str(phi0)+'below'] = flag #if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/1/')# now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_1(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} #for phi0 in np.linspace(0, np.pi / 2, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=35) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=-0.5, amax=2, # bmin=2, bmax=2.5) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/1/') #for phi0 in np.linspace(0, np.pi / 4, num=26): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4, amax=4.1, # bmin=1.37, bmax=1.45) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/1/') phis = helping(r'D:/2021_04_13/s-1/1/', np.pi / 4, np.pi / 2, 25) print(phis) for phi0 in phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=45) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: alpha, beta, flag = eop.find_critical_angles(half='right', amax=3.8055248913216775, amin=3.6766988799990963, bmax=1.0646566483676932, bmin=1.0321596533292083) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-1/1/') # now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_2(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} i = 0 #for phi0 in np.linspace(np.pi / 2, np.pi, num=50): # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) ### # # above: # alpha, beta, flag = eop.find_critical_angles(half='right', amin=4.4, amax=6, # bmin=1.6, bmax=2.2) # info[str(phi0)+'above'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/2/') #for phi0 in np.linspace(3*np.pi / 4, np.pi, num=26): # # below: # sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) # eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.9, amax=3.1, # bmin=1.2, bmax=1.4) # info[str(phi0)+'below'] = flag # if flag: # eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/2/') phis = helping(r'D:/2021_04_13/s-075/2/', np.pi/2, 3 * np.pi / 4, 25)[::-1] print(phis) for phi0 in phis: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.107, amax=3.16874, bmin=1.1156, bmax=1.167852) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/s-075/2/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')
def compute_2(s, chi, alpha, beta, r0, theta0, robs, thetaobs, phiobs): start = time.time() info = {} i = 0 for phi0 in np.linspace(np.pi / 2, np.pi, num=25): sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) # # above: alpha, beta, flag = eop.find_critical_angles(half='right', amin=4.4, amax=6, bmin=1.6, bmax=2.2) info[str(phi0) + 'above'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/2/') for phi0 in np.linspace(3 * np.pi / 4, np.pi, num=25): # below: sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.9, amax=3.1, bmin=1.2, bmax=1.4) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/2/') for phi0 in np.linspace(np.pi / 2, 3 * np.pi / 4, num=25): sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=2.95, amax=3.4, bmin=1, bmax=1.3) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/2/') for phi0 in []: #1.832595714594046 1.8653206380689396 1.8980455615438334 1.930770485018727 1.9962203319685143 2.1598449493429825 sol = solver.ODESolver(s, theta0, phi0, chi, alpha, beta, r0, stop=40) eop = better_eop.EmitterObserverProblem(sol, robs, thetaobs, phiobs) alpha, beta, flag = eop.find_critical_angles(half='right', amin=3.02, amax=3.04, bmin=1.21, bmax=1.24) info[str(phi0) + 'below'] = flag if flag: eop.save_to_csv(alpha, beta, r'D:/2021_04_13/') now = time.time() print(f'All those took {now - start}s (or {(now - start) / 60}m).') print('Info:') print(info) if False in info.values(): print('THERE ARE ERRORS!')