openmc.Filter

class openmc.Filter(bins, filter_id=None)[source]

Tally modifier that describes phase-space and other characteristics.

Parameters
  • bins (Integral or Iterable of Integral or Iterable of Real) – The bins for the filter. This takes on different meaning for different filters. See the docstrings for subclasses of this filter or the online documentation for more details.

  • filter_id (int) – Unique identifier for the filter

Variables
  • bins (Integral or Iterable of Integral or Iterable of Real) – The bins for the filter

  • id (int) – Unique identifier for the filter

  • num_bins (Integral) – The number of filter bins

  • shape (tuple) – The shape of the filter

can_merge(other)[source]

Determine if filter can be merged with another.

Parameters

other (openmc.Filter) – Filter to compare with

Returns

Whether the filter can be merged

Return type

bool

check_bins(bins)[source]

Make sure given bins are valid for this filter.

Raises
classmethod from_hdf5(group, **kwargs)[source]

Construct a new Filter instance from HDF5 data.

Parameters

group (h5py.Group) – HDF5 group to read from

Keyword Arguments

meshes (dict) – Dictionary mapping integer IDs to openmc.MeshBase objects. Only used for openmc.MeshFilter objects.

classmethod from_xml_element(elem, **kwargs)[source]

Generate a filter from an XML element

Parameters
  • elem (lxml.etree._Element) – XML element

  • **kwargs – Keyword arguments (e.g., mesh information)

Returns

Filter object

Return type

openmc.Filter

get_bin_index(filter_bin)[source]

Returns the index in the Filter for some bin.

Parameters

filter_bin (int or tuple) – The bin is the integer ID for ‘material’, ‘surface’, ‘cell’, ‘cellborn’, and ‘universe’ Filters. The bin is an integer for the cell instance ID for ‘distribcell’ Filters. The bin is a 2-tuple of floats for ‘energy’ and ‘energyout’ filters corresponding to the energy boundaries of the bin of interest. The bin is an (x,y,z) 3-tuple for ‘mesh’ filters corresponding to the mesh cell of interest.

Returns

filter_index – The index in the Tally data array for this filter bin.

Return type

int

get_pandas_dataframe(data_size, stride, **kwargs)[source]

Builds a Pandas DataFrame for the Filter’s bins.

This method constructs a Pandas DataFrame object for the filter with columns annotated by filter bin information. This is a helper method for Tally.get_pandas_dataframe().

Parameters
  • data_size (int) – The total number of bins in the tally corresponding to this filter

  • stride (int) – Stride in memory for the filter

Keyword Arguments

paths (bool) – Only used for DistribcellFilter. If True (default), expand distribcell indices into multi-index columns describing the path to that distribcell through the CSG tree. NOTE: This option assumes that all distribcell paths are of the same length and do not have the same universes and cells but different lattice cell indices.

Returns

A Pandas DataFrame with columns of strings that characterize the filter’s bins. The number of rows in the DataFrame is the same as the total number of bins in the corresponding tally, with the filter bin appropriately tiled to map to the corresponding tally bins.

Return type

pandas.DataFrame

See also

Tally.get_pandas_dataframe, CrossFilter.get_pandas_dataframe

is_subset(other)[source]

Determine if another filter is a subset of this filter.

If all of the bins in the other filter are included as bins in this filter, then it is a subset of this filter.

Parameters

other (openmc.Filter) – The filter to query as a subset of this filter

Returns

Whether or not the other filter is a subset of this filter

Return type

bool

merge(other)[source]

Merge this filter with another.

Parameters

other (openmc.Filter) – Filter to merge with

Returns

merged_filter – Filter resulting from the merge

Return type

openmc.Filter

to_xml_element()[source]

Return XML Element representing the Filter.

Returns

element – XML element containing filter data

Return type

lxml.etree._Element