Skip to content
Snippets Groups Projects
Commit 99fc77bb authored by Yngve Levinsen's avatar Yngve Levinsen
Browse files

:

parent 18d65077
No related branches found
No related tags found
No related merge requests found
...@@ -201,116 +201,116 @@ idx_elem_bpm_y = [lat.lst[i].idx_elem for i in idx_bpm_y] ...@@ -201,116 +201,116 @@ idx_elem_bpm_y = [lat.lst[i].idx_elem for i in idx_bpm_y]
########################################################################### ###########################################################################
# -- Define indices for blocks of R-matrix from "step" (may be too much...) # # -- Define indices for blocks of R-matrix from "step" (may be too much...)
block_x = [] # block_x = []
for k in range(len(step_x) + 1): # for k in range(len(step_x) + 1):
if int(sum(step_x[:k])) >= len(idx_bpm_x): # if int(sum(step_x[:k])) >= len(idx_bpm_x):
block_x.append(len(idx_bpm_x)) # block_x.append(len(idx_bpm_x))
break # break
else: # else:
block_x.append(int(sum(step_x[:k]))) # block_x.append(int(sum(step_x[:k])))
if block_x[-1] < len(idx_bpm_x): # if block_x[-1] < len(idx_bpm_x):
block.append(len(idx_bpm_x)) # block.append(len(idx_bpm_x))
block_y = [] # block_y = []
for k in range(len(step_y) + 1): # for k in range(len(step_y) + 1):
if int(sum(step_y[:k])) >= len(idx_bpm_y): # if int(sum(step_y[:k])) >= len(idx_bpm_y):
block_y.append(len(idx_bpm_y)) # block_y.append(len(idx_bpm_y))
break # break
else: # else:
block_y.append(int(sum(step_y[:k]))) # block_y.append(int(sum(step_y[:k])))
if block_y[-1] < len(idx_bpm_y): # if block_y[-1] < len(idx_bpm_y):
block.append(len(idx_bpm_y)) # block.append(len(idx_bpm_y))
# -- R matrix # # -- R matrix
Rx = Pool(Ncpu).map(Rx_column, range(len(idx_st_x))) # Rx = Pool(Ncpu).map(Rx_column, range(len(idx_st_x)))
Ry = Pool(Ncpu).map(Ry_column, range(len(idx_st_y))) # Ry = Pool(Ncpu).map(Ry_column, range(len(idx_st_y)))
Rx = np.array(Rx).transpose() # Rx = np.array(Rx).transpose()
Ry = np.array(Ry).transpose() # Ry = np.array(Ry).transpose()
if len(Rx) > len(Rx[0]): # if len(Rx) > len(Rx[0]):
print("[# of BPMs] > [# of steerers] for x, exiting...") # print("[# of BPMs] > [# of steerers] for x, exiting...")
exit() # exit()
if len(Ry) > len(Ry[0]): # if len(Ry) > len(Ry[0]):
print("[# of BPMs] > [# of steerers] for y, exiting...") # print("[# of BPMs] > [# of steerers] for y, exiting...")
exit() # exit()
if len(Rx) < len(Rx[0]): # if len(Rx) < len(Rx[0]):
print("[# of BPMs] < [# of steerers] for x, exiting...") # print("[# of BPMs] < [# of steerers] for x, exiting...")
exit() # exit()
if len(Ry) < len(Ry[0]): # if len(Ry) < len(Ry[0]):
print("[# of BPMs] < [# of steerers] for y, exiting...") # print("[# of BPMs] < [# of steerers] for y, exiting...")
exit() # exit()
# -- Main part # # -- Main part
data = Pool(Ncpu).map(job, range(Nrun)) # data = Pool(Ncpu).map(job, range(Nrun))
data = np.array(data).transpose() # data = np.array(data).transpose()
s = data[0][0] # s = data[0][0]
x = np.array(data[1].tolist()).transpose() # array not applied to the 3rd level ?? # x = np.array(data[1].tolist()).transpose() # array not applied to the 3rd level ??
y = np.array(data[2].tolist()).transpose() # array not applied to the 3rd level ?? # y = np.array(data[2].tolist()).transpose() # array not applied to the 3rd level ??
BLy = np.array(data[3].tolist()).transpose() # array not applied to the 3rd level ?? # BLy = np.array(data[3].tolist()).transpose() # array not applied to the 3rd level ??
BLx = np.array(data[4].tolist()).transpose() # array not applied to the 3rd level ?? # BLx = np.array(data[4].tolist()).transpose() # array not applied to the 3rd level ??
# -- Writing # # -- Writing
# x # # x
with open("x.out", "w") as file: # with open("x.out", "w") as file:
# Header # # Header
file.write("s ") # file.write("s ")
for n in range(Nrun): # for n in range(Nrun):
file.write("x%03d " % n) # file.write("x%03d " % n)
file.write("\n") # file.write("\n")
# Data # # Data
for k in range(len(s)): # for k in range(len(s)):
file.write("%.4f " % s[k]) # file.write("%.4f " % s[k])
for n in range(Nrun): # for n in range(Nrun):
file.write("%.5f " % x[k][n]) # file.write("%.5f " % x[k][n])
file.write("\n") # file.write("\n")
# y # # y
with open("y.out", "w") as file: # with open("y.out", "w") as file:
# Header # # Header
file.write("s ") # file.write("s ")
for n in range(Nrun): # for n in range(Nrun):
file.write("y%03d " % n) # file.write("y%03d " % n)
file.write("\n") # file.write("\n")
# Data # # Data
for k in range(len(s)): # for k in range(len(s)):
file.write("%.4f " % s[k]) # file.write("%.4f " % s[k])
for n in range(Nrun): # for n in range(Nrun):
file.write("%.5f " % y[k][n]) # file.write("%.5f " % y[k][n])
file.write("\n") # file.write("\n")
# x steering (BLy [Gm]) # # x steering (BLy [Gm])
with open("st.x.out", "w") as file: # with open("st.x.out", "w") as file:
# Header # # Header
file.write("## s ") # file.write("## s ")
for n in range(Nrun): # for n in range(Nrun):
file.write("BLy%03d " % n) # file.write("BLy%03d " % n)
file.write("\n") # file.write("\n")
# Data # # Data
for k in range(len(idx_st_x)): # for k in range(len(idx_st_x)):
file.write("%03d " % (k + 1) + "%.4f " % lat.lst[idx_st_x_elem[k]].s) # file.write("%03d " % (k + 1) + "%.4f " % lat.lst[idx_st_x_elem[k]].s)
for n in range(Nrun): # for n in range(Nrun):
file.write("%.4f " % (1e4 * BLy[k][n])) # file.write("%.4f " % (1e4 * BLy[k][n]))
file.write("\n") # file.write("\n")
# y steering (BLx [Gm]) # # y steering (BLx [Gm])
with open("st.y.out", "w") as file: # with open("st.y.out", "w") as file:
# Header # # Header
file.write("## s ") # file.write("## s ")
for n in range(Nrun): # for n in range(Nrun):
file.write("BLx%03d " % n) # file.write("BLx%03d " % n)
file.write("\n") # file.write("\n")
# Data # # Data
for k in range(len(idx_st_y)): # for k in range(len(idx_st_y)):
file.write("%03d " % (k + 1) + "%.4f " % lat.lst[idx_st_y_elem[k]].s) # file.write("%03d " % (k + 1) + "%.4f " % lat.lst[idx_st_y_elem[k]].s)
for n in range(Nrun): # for n in range(Nrun):
file.write("%.4f " % (1e4 * BLx[k][n])) # file.write("%.4f " % (1e4 * BLx[k][n]))
file.write("\n") # file.write("\n")
# -- Ending # -- Ending
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment