name_maps.py

Maps between promoted/relative/absolute names and name pairs.

openmdao.utils.name_maps.abs_key2rel_key(system, abs_key)[source]

Map relative variable name pair to absolute variable name pair.

Parameters
system<System>

System to which the given key is relative.

abs_key(str, str)

Given absolute variable name pair.

Returns
(str, str)

Relative variable name pair.

openmdao.utils.name_maps.abs_name2rel_name(system, abs_name)[source]

Map relative variable name to absolute variable name.

Parameters
system<System>

System to which the given name is relative.

abs_namestr

Given absolute variable name.

Returns
str

Relative variable name.

openmdao.utils.name_maps.key2abs_key(system, key)[source]

Map the given absolute, promoted or relative name pair to the absolute name pair.

The first name is an output, and the second name can be an output or an input. If the second name is non-unique, a KeyError is thrown.

Parameters
system<System>

System to which prom_key is relative.

key(str, str)

Promoted or relative name pair of sub-Jacobian.

Returns
(str, str) or None

Absolute name pair of sub-Jacobian if unique abs_key found or None otherwise.

openmdao.utils.name_maps.name2abs_name(system, name)[source]

Map the given promoted or relative name to the absolute name.

This is only valid when the name is unique; otherwise, a KeyError is thrown.

Parameters
system<System>

System to which name is relative.

namestr

Promoted or relative variable name in the owning system’s namespace.

Returns
str or None

Absolute variable name if unique abs_name found or None otherwise.

str or None

The type (‘input’ or ‘output’) of the corresponding variable.

openmdao.utils.name_maps.name2abs_names(system, name)[source]

Map the given promoted, relative, or absolute name to any matching absolute names.

This will also match any buried promotes.

Parameters
system<System>

System to which name is relative.

namestr

Promoted or relative variable name in the owning system’s namespace.

Returns
tuple or list of str

Tuple or list of absolute variable names found.

openmdao.utils.name_maps.prom_key2abs_key(system, prom_key)[source]

Map the given promoted name pair to the absolute name pair.

The first name is an output, and the second name can be an output or an input. If the second name is non-unique, a KeyError is thrown.

Parameters
system<System>

System to which prom_key is relative.

prom_key(str, str)

Promoted name pair of sub-Jacobian.

Returns
(str, str) or None

Absolute name pair of sub-Jacobian or None is prom_key is invalid.

openmdao.utils.name_maps.prom_name2abs_name(system, prom_name, type_)[source]

Map the given promoted name to the absolute name.

This is only valid when the name is unique; otherwise, a KeyError is thrown.

Parameters
system<System>

System to which prom_name is relative.

prom_namestr

Promoted variable name in the owning system’s namespace.

type_str

Either ‘input’ or ‘output’.

Returns
str or None

Absolute variable name or None if prom_name is invalid.

openmdao.utils.name_maps.rel_key2abs_key(system, rel_key)[source]

Map relative variable name pair to absolute variable name pair.

Parameters
system<System>

System to which the given key is relative.

rel_key(str, str)

Given relative variable name pair.

Returns
(str, str)

Absolute variable name pair.

openmdao.utils.name_maps.rel_name2abs_name(system, rel_name)[source]

Map relative variable name to absolute variable name.

Parameters
system<System>

System to which the given name is relative.

rel_namestr

Given relative variable name.

Returns
str

Absolute variable name.