1 from frictionImports
import *
3 sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)) +
'/File')
4 from loadFromResults
import LoadFile, SimplePlots, VectorArrayHelper, MathHelper
12 data = loader.loadFile(file_name)
13 print(
"data shape loaded: ", data.shape)
16 print(
"interval size: ", interval_size)
17 last_x_percent_index = vector_array_helper.lastXPercentIndex(last_x_percent, interval_size)
19 if(len(data.shape) > 1):
20 splitted_line = vector_array_helper.splitNumpy2DMatrixTo3DMatrix(data, interval_size)
21 splitted_line = np.array(splitted_line)
22 last_x_values = splitted_line[:,:,last_x_percent_index:]
23 print(last_x_values.shape)
26 splitted_line = vector_array_helper.splitNumpyVectorToMatrix(data, interval_size)
27 splitted_line = np.array(splitted_line)
28 last_x_values = splitted_line[:, last_x_percent_index:]
29 print(last_x_values.shape)
36 max_time = loader.getParameter(
"max_time")
37 slider_speed = loader.getParameter(
"slider_speed")
38 increment = loader.getParameter(
"increment")
39 interval = loader.getParameter(
"interval")
41 number_of_intervals = int(np.ceil(max_time/interval))
43 velocities = [round(slider_speed + increment * i,4)
for i
in range(0, number_of_intervals)]
44 print(
"Velocities in run: ", velocities)
46 return {
'velocities': velocities}
55 if(len(position_selection.shape) > 1):
57 for i
in range(0, len(position_selection)):
58 save_matrix.append(position_selection[i])
59 save_matrix.append(velocity_selection[i])
60 save_matrix = np.array(save_matrix)
62 save_matrix = np.array([position_selection, velocity_selection])
63 print(save_matrix.shape)
64 loader.save_csv(file_name, save_matrix)
70 save_folder = "/results/friction_phase/"
74 vector_array_helper=vector_array_helper,
75 file_name =
"block_position",
76 last_x_percent=last_x_percent)
79 vector_array_helper=vector_array_helper,
80 file_name =
"block_velocity",
81 last_x_percent=last_x_percent)
82 print(position_data.shape, velocity_data.shape)
84 for i, (position, velocity)
in enumerate(zip(position_data, velocity_data)):
85 if(
not loader.check_if_dir_exist_in_run_folder(save_folder)):
86 os.makedirs(loader.results_path + loader.run_name + save_folder)
92 file_name = save_folder +
"block_phase_" + str(i) +
".csv" 96 loader.saveYaml(velocities,
"/results/friction_phase/increment_run.yaml")
102 save_folder = "/results/friction_phase/"
106 vector_array_helper=vector_array_helper,
107 file_name =
"pad_position",
108 last_x_percent=last_x_percent)
111 vector_array_helper=vector_array_helper,
112 file_name =
"pad_velocity",
113 last_x_percent=last_x_percent)
114 print(position_data.shape, velocity_data.shape)
116 for i, (position, velocity)
in enumerate(zip(position_data, velocity_data)):
117 if(
not loader.check_if_dir_exist_in_run_folder(save_folder)):
118 os.makedirs(loader.results_path + loader.run_name + save_folder)
124 file_name = save_folder +
"pad_phase_" + str(i) +
".csv" 131 interval = loader.getParameter(
"interval")
132 dt = loader.getParameter(
"dt")
133 save_interval = loader.getParameter(
"save_interval_dt")
135 data_points_per_velocity = int(interval/(dt*save_interval))
137 return data_points_per_velocity
142 if(len(sys.argv) > 1):
143 run_name = sys.argv[1]
145 if(
"-p" in sys.argv):
146 p_index = sys.argv.index(
'-p')
148 last_x_percent = int(sys.argv[p_index + 1])
149 except IndexError
as e:
153 loader =
LoadFile(run_name=run_name)
156 makePadPhaseData(loader, vector_array_helper, last_x_percent=last_x_percent)
159 if __name__ ==
"__main__":
def calculateIntervalSize(loader)
def makeBlockPhaseData(loader, vector_array_helper, last_x_percent=5, save_folder="/results/friction_phase/")
def splitSingleIncrementRun(loader, vector_array_helper, file_name, last_x_percent)
def savePhaseData(loader, position_selection, velocity_selection, file_name)
def calculateVelocities(loader)
def makePadPhaseData(loader, vector_array_helper, last_x_percent=5, save_folder="/results/friction_phase/")