From b69f0efbbc5826b8c2ef975ddb4507f58cd120af Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 27 May 2019 22:00:26 +0200 Subject: [PATCH] improved and simplified reporting --- processing/pre/geom_addPrimitive.py | 1 - processing/pre/geom_canvas.py | 1 - processing/pre/geom_clean.py | 1 - processing/pre/geom_mirror.py | 1 - processing/pre/geom_renumber.py | 1 - processing/pre/geom_rescale.py | 1 - processing/pre/geom_rotate.py | 1 - processing/pre/geom_toTable.py | 1 + processing/pre/geom_translate.py | 1 - processing/pre/geom_vicinityOffset.py | 1 - python/damask/geom.py | 26 ++++++++++++++++++++------ python/damask/util.py | 18 ++++++++++-------- 12 files changed, 31 insertions(+), 23 deletions(-) diff --git a/processing/pre/geom_addPrimitive.py b/processing/pre/geom_addPrimitive.py index 72f5019e6..65f13a2da 100755 --- a/processing/pre/geom_addPrimitive.py +++ b/processing/pre/geom_addPrimitive.py @@ -104,7 +104,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() fill = options.fill if options.fill is not None else np.nanmax(microstructure)+1 diff --git a/processing/pre/geom_canvas.py b/processing/pre/geom_canvas.py index 7998c42c5..0951ab1a5 100755 --- a/processing/pre/geom_canvas.py +++ b/processing/pre/geom_canvas.py @@ -51,7 +51,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() grid = geom.get_grid() diff --git a/processing/pre/geom_clean.py b/processing/pre/geom_clean.py index 9ed8e88b4..66a205571 100755 --- a/processing/pre/geom_clean.py +++ b/processing/pre/geom_clean.py @@ -49,7 +49,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() microstructure = ndimage.filters.generic_filter(microstructure,mostFrequent, diff --git a/processing/pre/geom_mirror.py b/processing/pre/geom_mirror.py index 7974bde82..e2bf5f6dd 100755 --- a/processing/pre/geom_mirror.py +++ b/processing/pre/geom_mirror.py @@ -55,7 +55,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.microstructure if 'z' in options.directions: diff --git a/processing/pre/geom_renumber.py b/processing/pre/geom_renumber.py index 25f67bd50..93c0ffebe 100755 --- a/processing/pre/geom_renumber.py +++ b/processing/pre/geom_renumber.py @@ -36,7 +36,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() renumbered = np.copy(microstructure) diff --git a/processing/pre/geom_rescale.py b/processing/pre/geom_rescale.py index c1ca091a4..61f41f621 100755 --- a/processing/pre/geom_rescale.py +++ b/processing/pre/geom_rescale.py @@ -46,7 +46,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() scale = geom.get_grid().astype('float') diff --git a/processing/pre/geom_rotate.py b/processing/pre/geom_rotate.py index 4a24b338b..6a058f547 100755 --- a/processing/pre/geom_rotate.py +++ b/processing/pre/geom_rotate.py @@ -78,7 +78,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() fill = options.fill if options.fill is not None else np.nanmax(microstructure)+1 diff --git a/processing/pre/geom_toTable.py b/processing/pre/geom_toTable.py index f2e475c1c..e21d081eb 100755 --- a/processing/pre/geom_toTable.py +++ b/processing/pre/geom_toTable.py @@ -56,6 +56,7 @@ for name in filenames: zz = np.repeat(z,grid[0]*grid[1]) # ------------------------------------------ finalize output --------------------------------------- + table = damask.ASCIItable(outname = os.path.splitext(name)[0]+'.txt' if name else name) table.info_append([scriptID + '\t' + ' '.join(sys.argv[1:])] + geom.get_comments()) table.labels_append(['{}_{}'.format(1+i,'pos') for i in range(3)]+['microstructure']) diff --git a/processing/pre/geom_translate.py b/processing/pre/geom_translate.py index 01f34f547..62cef3a2a 100755 --- a/processing/pre/geom_translate.py +++ b/processing/pre/geom_translate.py @@ -58,7 +58,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() new = np.copy(microstructure) diff --git a/processing/pre/geom_vicinityOffset.py b/processing/pre/geom_vicinityOffset.py index f058e9424..49e419a65 100755 --- a/processing/pre/geom_vicinityOffset.py +++ b/processing/pre/geom_vicinityOffset.py @@ -74,7 +74,6 @@ for name in filenames: geom = damask.Geom.from_file(virt_file) else: geom = damask.Geom.from_file(name) - damask.util.croak(geom) microstructure = geom.get_microstructure() offset = options.offset if options.offset is not None else np.nanmax(microstructure) diff --git a/python/damask/geom.py b/python/damask/geom.py index bbe36595b..46c378240 100644 --- a/python/damask/geom.py +++ b/python/damask/geom.py @@ -3,6 +3,8 @@ from io import StringIO import numpy as np +from . import util + class Geom(): """Geometry definition for grid solvers""" @@ -67,17 +69,29 @@ class Geom(): if rescale: self.size = self.size * self.get_grid()/grid_old - message = '' + message = ['grid a b c: {}'.format(' x '.join(map(str,grid_old)))] if np.any(grid_old != self.get_grid()): - message += 'grid a b c: {}\n'.format(' x '.join(map(str,self.get_grid()))) + message[-1] = util.bcolors.CROSSOUT+message[-1]+util.bcolors.ENDC + message.append('grid a b c: {}'.format(' x '.join(map(str,self.get_grid())))) + + message.append('size x y z: {}'.format(' x '.join(map(str,size_old)))) if np.any(size_old != self.size): - message += 'size x y z: {}\n'.format(' x '.join(map(str,self.size))) + message[-1] = util.bcolors.CROSSOUT+message[-1]+util.bcolors.ENDC + message.append('size x y z: {}'.format(' x '.join(map(str,self.size)))) + + message.append('homogenization: {}'.format(self.homogenization)) + + message.append('# microstructures: {}'.format(unique_old)) if unique_old != len(np.unique(self.microstructure)): - message += '# microstructures: {}\n'.format(len(np.unique(self.microstructure))) + message[-1] = util.bcolors.CROSSOUT+message[-1]+util.bcolors.ENDC + message.append('# microstructures: {}'.format(len(np.unique(self.microstructure)))) + + message.append('max microstructures: {}'.format(max_old)) if max_old != np.max(self.microstructure): - message += 'max microstructures: {}\n'.format(np.max(self.microstructure)) + message[-1] = util.bcolors.CROSSOUT+message[-1]+util.bcolors.ENDC + message.append('max microstructures: {}'.format(np.max(self.microstructure))) - if message != '': return message + return '\n'.join(message) def add_comment(self,comment): diff --git a/python/damask/util.py b/python/damask/util.py index c078f57bf..7f0f3ab56 100644 --- a/python/damask/util.py +++ b/python/damask/util.py @@ -11,15 +11,16 @@ class bcolors: http://stackoverflow.com/questions/287871/print-in-terminal-with-colors-using-python """ - HEADER = '\033[95m' - OKBLUE = '\033[94m' - OKGREEN = '\033[92m' - WARNING = '\033[93m' - FAIL = '\033[91m' - ENDC = '\033[0m' - BOLD = '\033[1m' - DIM = '\033[2m' + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + DIM = '\033[2m' UNDERLINE = '\033[4m' + CROSSOUT = '\033[9m' def disable(self): self.HEADER = '' @@ -30,6 +31,7 @@ class bcolors: self.ENDC = '' self.BOLD = '' self.UNDERLINE = '' + self.CROSSOUT = '' # -----------------------------