def getNeighbors(self, fieldName): if fieldName in getFieldDict(self.className).keys(): return [ eval('%s("%s")' % (id_[0].getField('class'), id_.getPath())) for id_ in self.oid_.getNeighbors(fieldName) ] raise ValueError('%s: no such field on %s' % (fieldName, self.path))
def showfield(element, field='*', showtype=False): """Show the fields of the element, their data types and values in human readable format. Convenience function for GENESIS users. Parameters: element -- Element or path of an existing element or ObjId of an element. field -- Field to be displayed. If '*', all fields are displayed. showtype -- If True show the data type of each field. """ if isinstance(element, str): if not _moose.exists(element): raise ValueError('%s -- no such moose object exists.' % (element)) element = Neutral(element) if not isinstance(element, Neutral): if not isinstance(element, ObjId): raise TypeError( 'Expected argument of type ObjId or Neutral or a path to an existing object. Found %s' % (type(element))) element = Neutral(element) if field == '*': value_field_dict = getFieldDict(element.className, 'valueFinfo') max_type_len = max([len(dtype) for dtype in value_field_dict.values()]) max_field_len = max([len(dtype) for dtype in value_field_dict.keys()]) print print '[', element.path, ']' for key, dtype in value_field_dict.items(): if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith( 'vector') or 'ObjId' in dtype: continue value = element.oid_.getField(key) if showtype: print dtype.ljust(max_type_len + 4), print key.ljust(max_field_len + 4), '=', value else: try: print field, '=', element.getField(field) except AttributeError: pass # Genesis silently ignores non existent fields
def showfield(element, field='*', showtype=False): """Show the fields of the element, their data types and values in human readable format. Convenience function for GENESIS users. Parameters: element -- Element or path of an existing element or ObjId of an element. field -- Field to be displayed. If '*', all fields are displayed. showtype -- If True show the data type of each field. """ if isinstance(element, str): if not _moose.exists(element): raise ValueError('%s -- no such moose object exists.' % (element)) element = Neutral(element) if not isinstance(element, Neutral): if not isinstance(element, ObjId): raise TypeError('Expected argument of type ObjId or Neutral or a path to an existing object. Found %s' % (type(element))) element = Neutral(element) if field == '*': value_field_dict = getFieldDict(element.className, 'valueFinfo') max_type_len = max([len(dtype) for dtype in value_field_dict.values()]) max_field_len = max([len(dtype) for dtype in value_field_dict.keys()]) print print '[', element.path, ']' for key, dtype in value_field_dict.items(): if dtype == 'bad' or key == 'this' or key == 'dummy' or key == 'me' or dtype.startswith('vector') or 'ObjId' in dtype: continue value = element.oid_.getField(key) if showtype: print dtype.ljust(max_type_len + 4), print key.ljust(max_field_len + 4), '=', value else: try: print field, '=', element.getField(field) except AttributeError: pass # Genesis silently ignores non existent fields
def getNeighbors(self, fieldName): if fieldName in getFieldDict(self.className).keys(): return [eval('%s("%s")' % (id_[0].getField('class'), id_.getPath())) for id_ in self.oid_.getNeighbors(fieldName)] raise ValueError('%s: no such field on %s' % (fieldName, self.path))