| timprove data handling in postprocessing module - slidergrid - grid of elastic … | |
| git clone git://src.adamsgaard.dk/slidergrid | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 067dee70d100c7598d44a8a595e50a32f90c8578 | |
| parent c75d7fcd51c3d68c8063daf7493815f71331bb39 | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Tue, 5 Apr 2016 12:35:23 -0700 | |
| improve data handling in postprocessing module | |
| Diffstat: | |
| M postprocessing.py | 40 +++++++++++++++++++++--------… | |
| 1 file changed, 27 insertions(+), 13 deletions(-) | |
| --- | |
| diff --git a/postprocessing.py b/postprocessing.py | |
| t@@ -1,7 +1,6 @@ | |
| #!/usr/bin/env python | |
| import sys | |
| import getopt | |
| -import os | |
| import csv | |
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| t@@ -44,6 +43,7 @@ class slidergrid: | |
| for raw in reader: | |
| self.version = float(raw[0]) | |
| # self.id = raw[1] | |
| + self.file_number = extract_file_number(filename) | |
| self.N = int(raw[2]) | |
| self.time = float(raw[3]) | |
| self.time_end = float(raw[4]) | |
| t@@ -52,21 +52,30 @@ class slidergrid: | |
| self.iteration = int(raw[7]) | |
| self.bond_length_limit = float(raw[8]) | |
| - def plot_sliders(self): | |
| + def plot_sliders(self, verbose=True): | |
| + | |
| + fig = plt.figure() | |
| + | |
| + # plot positions | |
| plt.plot(self.pos[:, 0], self.pos[:, 1], '+') | |
| - outfile = self.folder + '/' + self.filename + '.pdf' | |
| - print(outfile) | |
| + | |
| + plt.xlabel('$x$ [m]') | |
| + plt.ylabel('$y$ [m]') | |
| + outfile = self.folder + '/' + self.id + \ | |
| + '.sliders.{:0=6}'.format(self.file_number) + '.pdf' | |
| + plt.legend(loc='best') | |
| + plt.tight_layout() | |
| plt.savefig(outfile) | |
| + if verbose: | |
| + print(outfile) | |
| plt.clf() | |
| + plt.close(fig) | |
| - def plot_all_sliders(self): | |
| - for filename in os.listdir(self.folder): | |
| - if 'sliders' in filename \ | |
| - and '.txt' in filename \ | |
| - and '.pdf' not in filename \ | |
| - and '.png' not in filename: | |
| - self.read_sliders(filename) | |
| - self.plot_sliders() | |
| + def plot_all_sliders(self, verbose=False): | |
| + sim = slidergrid(self.folder) | |
| + for i in range(sim.status()): | |
| + sim.read_step(i + 1, verbose=verbose) | |
| + sim.plot_sliders() | |
| def current_time(self): | |
| return self.time | |
| t@@ -95,7 +104,7 @@ class slidergrid: | |
| sim = slidergrid(self.folder) | |
| for i in range(self.status()): | |
| - sim.read_step(i+1, verbose=verbose) | |
| + sim.read_step(i + 1, verbose=verbose) | |
| self.t_series.append(sim.time) | |
| E_t, E_r = sim.current_kinetic_energy() | |
| self.E_t_series.append(E_t) | |
| t@@ -149,6 +158,7 @@ class slidergrid: | |
| if verbose: | |
| print('input file: ' + filename) | |
| + self.file_number = extract_file_number(filename) | |
| raw = np.loadtxt(self.filename) | |
| self.pos = raw[:, 0:3] | |
| self.vel = raw[:, 3:6] | |
| t@@ -180,6 +190,10 @@ def iterate_over_folders_and_files(folders, | |
| print('No actions specified. Bye.') | |
| +def extract_file_number(string): | |
| + return int(re.findall('\d+', string)[0]) | |
| + | |
| + | |
| def main(argv): | |
| folders = [] | |
| plot_sliders = False |