iter_utils.py#

Various utilities for working with iterators.

openmdao.utils.iter_utils.meta2item_iter(meta_iter, item)[source]

Convert a metadata iterator to an iterator over (name, <item>).

Parameters:
meta_iteriter of (name, meta)

Iterator over variable names and their metadata dicts.

itemstr

The name of the item to extract from the metadata.

Yields:
tuple

Tuple of (name, <item>) for each variable.

openmdao.utils.iter_utils.meta2items_iter(meta_iter, items)[source]

Convert a metadata iterator to an iterator over [name, meta[item0], meta[item1], …].

Parameters:
meta_iteriter of (name, meta)

Iterator over variable names and their metadata dicts.

itemslist of str

The names of the items to extract from the metadata.

Yields:
list

[name, meta[item0], meta[item1], …] for each variable.

openmdao.utils.iter_utils.meta2range_iter(meta_iter, size_name='size', subset=None)[source]

Iterate over variables and their ranges, based on size metadata for each variable.

Parameters:
meta_iteriterator over (name, meta)

Iterator over variable name and metadata (which contains size information).

size_namestr

Name of the size metadata entry. Defaults to ‘size’, but could also be ‘global_size’.

subsetiter of str or None

If not None, restrict the ranges to those variables contained in subset.

Yields:
str

Name of variable.

int

Starting index.

int

Ending index.

openmdao.utils.iter_utils.size2range_iter(size_iter)[source]

Convert a size iterator to a range iterator.

Parameters:
size_iteriter of (name, size)

Iterator over variable names and their sizes.

Yields:
tuple

Tuple of (name, (start, end)) for each variable.