4 from matplotlib
import pyplot
as plt
6 import matplotlib
as mpl
8 mpl.rcParams[
"svg.fonttype"] =
"none" 9 mpl.rcParams[
"font.size"] = 16
11 mpl.rcParams[
"savefig.directory"] =
"../../Figures" 12 plt.rcParams[
"savefig.format"] =
"svg" 14 mpl.rc(
'font', **{
'family':
'serif',
'serif': [
'Computer Modern']})
15 mpl.rc(
'text', usetex=
True)
20 from yaml
import CLoader
as Loader, CDumper
as Dumper
22 from yaml
import Loader, Dumper
25 def __init__(self, run_name = [""], numeric_method = "_midpoint_", time_steps_plotted = 300000):
34 stream = open(self.
results_path + run_name +
"/doc/yaml/parameters.yaml",
'r') 35 run_parameters = yaml.load(stream, Loader = Loader) 40 self.
results_path = os.path.dirname(os.path.realpath(__file__)) +
"/../../../results/" 42 results_folder =
"/results/" 49 self.
pad_position = [np.loadtxt(self.
results_path + run_name[0] + results_folder + shared_names + numeric_method +
"pad_position.csv", delimiter =
',')]
50 self.
pad_velocity = [np.loadtxt(self.
results_path + run_name[0] + results_folder + shared_names + numeric_method +
"pad_velocity.csv", delimiter =
',')]
54 if(len(run_name) > 1):
55 for i
in range(1,len(run_name)):
56 new_pad_position = np.loadtxt(self.
results_path + run_name[i] + results_folder + shared_names + numeric_method +
"pad_position.csv", delimiter =
',')
57 new_pad_velocity = np.loadtxt(self.
results_path + run_name[i] + results_folder + shared_names + numeric_method +
"pad_velocity.csv", delimiter =
',')
63 if(use_dictionary_names):
64 short_names = {
'blocks_3_no_damper_no_neighbor_test':
'ND,NN',
'blocks_3_no_damper_test':
'ND', \
65 'blocks_3_no_friction_test':
'NF',
'blocks_3_no_debug_test':
'BKP', \
66 'blocks_3_no_friction_no_damper_no_neighbor_test':
'NF,ND,NN', \
67 'blocks_3_no_debug_long_test':
'BKP Long'}
69 label_names = [short_names[x]
for x
in run_name]
71 label_names = [
"seed: 101",
"seed: 101",
"seed: 102",
"seed: 103"]
78 number_data_points = 0
80 run_parameters = self.
loadYaml(run_name)
82 stop = run_parameters[
"Parameters"][
"max_time"]
84 if( number_data_points == 0 ):
85 dt = run_parameters[
"Parameters"][
"dt"]
86 save_every_interval_dt = run_parameters[
"Parameters"][
"save_interval_dt"]
88 number_data_points = (stop - start)/(dt*save_every_interval_dt)
91 x_values = np.linspace(start = start, stop = stop, num = number_data_points)
108 if(len(self.
x.shape) > 1):
111 plot_untill = int(np.ceil(5000/(self.
x[-1])*len(self.
x)))
125 if(len(self.
x.shape) > 1):
128 plot_untill = int(np.ceil(5000/(self.
x[-1])*len(self.
x)))
144 if(len(sys.argv) > 2):
145 run_name = sys.argv[1:]
147 elif(len(sys.argv) == 2):
150 print(
"This will probably not work, have you remembered to give input to the command?")
152 plot_pad.plot_pad_position()
153 plot_pad.plot_pad_velocity()
155 if __name__ ==
"__main__":
def x_values_for_run(self, run_name, number_data_points=0)
def loadYaml(self, run_name)
def __init__(self, run_name=[""], numeric_method="_midpoint_", time_steps_plotted=300000)
def setUpPlot(self, run_name)
def getPadLabels(self, run_name, use_dictionary_names=False)
def plot_pad_position_different_time_step(self)
def loadFiles(self, run_name, numeric_method)
def plot_pad_velocity(self)
def plot_pad_position(self)