new names consistently used
This commit is contained in:
parent
00028724b8
commit
8798dd1af3
|
@ -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:
|
||||||
|
|
|
@ -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 \
|
||||||
|
|
Loading…
Reference in New Issue