new names consistently used

This commit is contained in:
Martin Diehl 2020-03-02 23:47:29 +01:00
parent 00028724b8
commit 8798dd1af3
2 changed files with 59 additions and 54 deletions

View File

@ -52,15 +52,15 @@ for filename in options.filenames:
table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)}) table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)})
table.add('pos',coords.reshape((-1,3))) table.add('pos',coords.reshape((-1,3)))
results.set_visible('materialpoints',False) results.pick('materialpoints',False)
results.set_visible('constituents', True) results.pick('constituents', True)
for label in options.con: for label in options.con:
x = results.get_dataset_location(label) x = results.get_dataset_location(label)
if len(x) != 0: if len(x) != 0:
table.add(label,results.read_dataset(x,0,plain=True).reshape((results.grid.prod(),-1))) table.add(label,results.read_dataset(x,0,plain=True).reshape((results.grid.prod(),-1)))
results.set_visible('constituents', False) results.pick('constituents', False)
results.set_visible('materialpoints',True) results.pick('materialpoints',True)
for label in options.mat: for label in options.mat:
x = results.get_dataset_location(label) x = results.get_dataset_location(label)
if len(x) != 0: if len(x) != 0:

View File

@ -83,47 +83,48 @@ class Result():
self.fname = fname self.fname = fname
def __manage_visible(self,datasets,what,action): def _manage_selection(self,action,what,datasets):
""" """
Manages the visibility of the groups. Manages the visibility of the groups.
Parameters Parameters
---------- ----------
action : str
select from 'set', 'add', and 'del'
what : str
attribute to change (must be in self.selection)
datasets : list of str or Boolean datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards. name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to [] True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
action : str
select from 'set', 'add', and 'del'
""" """
# allow True/False and string arguments # allow True/False and string arguments
if datasets is True: if datasets is True:
datasets = ['*'] datasets = ['*']
elif datasets is False: elif datasets is False:
datasets = [] datasets = []
choice = [datasets] if isinstance(datasets,str) else datasets choice = [datasets] if isinstance(datasets,str) else datasets
valid = [e for e_ in [glob.fnmatch.filter(getattr(self,what),s) for s in choice] for e in e_] valid = [e for e_ in [glob.fnmatch.filter(getattr(self,what),s) for s in choice] for e in e_]
existing = set(self.selection[what]) existing = set(self.selection[what])
if action == 'set': if action == 'set':
self.selection[what] = valid self.selection[what] = valid
elif action == 'add': elif action == 'add':
add=existing.union(valid) add=existing.union(valid)
add_sorted=sorted(add, key=lambda x: int("".join([i for i in x if i.isdigit()]))) add_sorted=sorted(add, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = add_sorted self.selection[what] = add_sorted
elif action == 'del': elif action == 'del':
diff=existing.difference(valid) diff=existing.difference(valid)
diff_sorted=sorted(diff, key=lambda x: int("".join([i for i in x if i.isdigit()]))) diff_sorted=sorted(diff, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = diff_sorted self.selection[what] = diff_sorted
def __time_to_inc(self,start,end): def __time_to_inc(self,start,end):
selected = [] selected = []
for i,time in enumerate(self.times): for i,time in enumerate(self.times):
if start <= time <= end: if start <= time <= end:
selected.append(self.increments[i]) selected.append(self.increments[i])
return selected return selected
@ -139,7 +140,7 @@ class Result():
end time (included) end time (included)
""" """
self.__manage_visible(self.__time_to_inc(start,end),'increments','set') self._manage_selection('set','increments',self.__time_to_inc(start,end))
def add_by_time(self,start,end): def add_by_time(self,start,end):
@ -154,7 +155,7 @@ class Result():
end time (included) end time (included)
""" """
self.__manage_visible(self.__time_to_inc(start,end),'increments','add') self._manage_selection('add','increments',self.__time_to_inc(start,end))
def del_by_time(self,start,end): def del_by_time(self,start,end):
@ -169,7 +170,7 @@ class Result():
end time (included) end time (included)
""" """
self.__manage_visible(self.__time_to_inc(start,end),'increments','del') self._manage_selection('del','increments',self.__time_to_inc(start,end))
def set_by_increment(self,start,end): def set_by_increment(self,start,end):
@ -185,9 +186,9 @@ class Result():
""" """
if self.version_minor >= 4: if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','set') self._manage_selection('set','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else: else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','set') self._manage_selection('set','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def add_by_increment(self,start,end): def add_by_increment(self,start,end):
@ -203,9 +204,9 @@ class Result():
""" """
if self.version_minor >= 4: if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','add') self._manage_selection('add','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else: else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','add') self._manage_selection('add','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def del_by_increment(self,start,end): def del_by_increment(self,start,end):
@ -221,80 +222,84 @@ class Result():
""" """
if self.version_minor >= 4: if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','del') self._manage_selection('del','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else: else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','del') self._manage_selection('del','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def iter_visible(self,what): def iter_selection(self,what):
""" """
Iterate over visible items by setting each one visible. Iterate over selection items by setting each one selected.
Parameters Parameters
---------- ----------
what : str what : str
attribute to change (must be in self.selection) attribute to change (must be from self.selection)
""" """
datasets = self.selection[what] datasets = self.selection[what]
last_datasets = datasets.copy() last_datasets = datasets.copy()
for dataset in datasets: for dataset in datasets:
if last_datasets != self.selection[what]: if last_datasets != self.selection[what]:
self.__manage_visible(datasets,what,'set') self._manage_selection('set',what,datasets)
raise Exception raise Exception
self.__manage_visible(dataset,what,'set') self._manage_selection('set',what,datasets)
last_datasets = self.selection[what] last_datasets = self.selection[what]
yield dataset yield dataset
self.__manage_visible(datasets,what,'set') self._manage_selection('set',what,datasets)
def set_visible(self,what,datasets): def pick(self,what,datasets):
""" """
Set active groups. Set selection.
Parameters Parameters
---------- ----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards. name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to [] True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
""" """
self.__manage_visible(datasets,what,'set') self._manage_selection('set',what,datasets)
def add_visible(self,what,datasets): def pick_more(self,what,datasets):
""" """
Add to active groups. Add to selection.
Parameters Parameters
---------- ----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards. name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to [] True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
""" """
self.__manage_visible(datasets,what,'add') self._manage_selection('add',what,datasets)
def del_visible(self,what,datasets): def pick_less(self,what,datasets):
""" """
Delete from active groupe. Delete from selection.
Parameters Parameters
---------- ----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards. name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to [] True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
""" """
self.__manage_visible(datasets,what,'del') self._manage_selection('del',what,datasets)
####################################################################
# for transition compatibility
iter_visible = iter_selection
####################################################################
def groups_with_datasets(self,datasets): def groups_with_datasets(self,datasets):
""" """
@ -1086,7 +1091,7 @@ class Result():
vtk_data = [] vtk_data = []
materialpoints_backup = self.selection['materialpoints'].copy() materialpoints_backup = self.selection['materialpoints'].copy()
self.set_visible('materialpoints',False) self.pick('materialpoints',False)
for label in (labels if isinstance(labels,list) else [labels]): for label in (labels if isinstance(labels,list) else [labels]):
for p in self.iter_visible('con_physics'): for p in self.iter_visible('con_physics'):
if p != 'generic': if p != 'generic':
@ -1112,10 +1117,10 @@ class Result():
vtk_data[-1].SetName(dset_name) vtk_data[-1].SetName(dset_name)
vtk_geom.GetCellData().AddArray(vtk_data[-1]) vtk_geom.GetCellData().AddArray(vtk_data[-1])
self.set_visible('materialpoints',materialpoints_backup) self.pick('materialpoints',materialpoints_backup)
constituents_backup = self.selection['constituents'].copy() constituents_backup = self.selection['constituents'].copy()
self.set_visible('constituents',False) self.pick('constituents',False)
for label in (labels if isinstance(labels,list) else [labels]): for label in (labels if isinstance(labels,list) else [labels]):
for p in self.iter_visible('mat_physics'): for p in self.iter_visible('mat_physics'):
if p != 'generic': if p != 'generic':
@ -1137,7 +1142,7 @@ class Result():
vtk_data.append(numpy_support.numpy_to_vtk(num_array=array.reshape(shape),deep=True)) vtk_data.append(numpy_support.numpy_to_vtk(num_array=array.reshape(shape),deep=True))
vtk_data[-1].SetName('1_'+x[0].split('/',1)[1]) vtk_data[-1].SetName('1_'+x[0].split('/',1)[1])
vtk_geom.GetCellData().AddArray(vtk_data[-1]) vtk_geom.GetCellData().AddArray(vtk_data[-1])
self.set_visible('constituents',constituents_backup) self.pick('constituents',constituents_backup)
if mode.lower()=='cell': if mode.lower()=='cell':
writer = vtk.vtkXMLRectilinearGridWriter() if self.structured else \ writer = vtk.vtkXMLRectilinearGridWriter() if self.structured else \