code: def update_columns(self, field, value_dict, inds=None, computed_type=None):
          
          if not isinstance(value_dict, dict):
              value_dict = {comp_no: value_dict for comp_no in self._dict.keys()}
  
  
          for comp, value in value_dict.items():
              if computed_type is not None:
                  # then create the ComputedColumn now to override the default value of compute_at_vertices
                  self._dict[comp]._observables[field] = ComputedColumn(self._dict[comp], compute_at_vertices=computed_type=='vertices')
  
              #print "***", comp, field, inds, value
              if inds:
                  raise NotImplementedError('setting column with indices not yet ported to new meshing')
                  # self._dict[comp][field][inds] = value
              else:
                  if comp in self._dict.keys():
                      self._dict[comp][field] = value
                  else:
                      meshes = self._dict[self._parent_envelope_of[comp]]
                      meshes[comp][field] = value
docs: update the columns of all meshes
  
          :parameter str field: name of the mesh columnname
          :parameter value_dict: dictionary with component as keys and new
              data as values. If value_dict is not a dictionary,
              it will be applied to all components
          :type value_dict: dict or value (array or float)