API reference
pyomo.dae.flatten.slice_component_along_sets (...) |
This function generates all possible slices of the provided component along the provided sets. |
pyomo.dae.flatten.flatten_components_along_sets (m, ...) |
This function iterates over components (recursively) contained in a block and partitions their data objects into components indexed only by the specified sets. |
pyomo.dae.flatten.flatten_dae_components (...) |
Partitions components into ComponentData and Components indexed only by the provided set. |
-
pyomo.dae.flatten.
slice_component_along_sets
(component, sets, context_slice=None, normalize=None)[source] This function generates all possible slices of the provided component along the provided sets. That is, it will iterate over the component’s other indexing sets and, for each index, yield a slice along the sets specified in the call signature.
Parameters: - component (Component) – The component whose slices will be yielded
- sets (ComponentSet) – ComponentSet of Pyomo sets that will be sliced along
- context_slice (IndexedComponent_slice) – If provided, instead of creating a new slice, we will extend this one with appropriate getattr and getitem calls.
- normalize (Bool) – If False, the returned index (from the product of “other sets”) is not normalized, regardless of the value of normalize_index.flatten. This is necessary to use this index with _fill_indices.
Yields: tuple – The first entry is the index in the product of “other sets” corresponding to the slice, and the second entry is the slice at that index.
-
pyomo.dae.flatten.
flatten_components_along_sets
(m, sets, ctype, indices=None, active=None)[source] This function iterates over components (recursively) contained in a block and partitions their data objects into components indexed only by the specified sets.
Parameters: - m (_BlockData) – Block whose components (and their sub-components) will be partitioned
- sets (Tuple of Pyomo Sets) – Sets to be sliced. Returned components will be indexed by some combination of these sets, if at all.
- ctype (Subclass of Component) – Type of component to identify and partition
- indices (Iterable or ComponentMap) – Indices of sets to use when descending into subblocks. If an
iterable is provided, the order corresponds to the order in
sets
. If aComponentMap
is provided, the keys must be insets
. - active (Bool or None) – If not None, this is a boolean flag used to filter component objects by their active status. A reference-to-slice is returned if any data object defined by the slice matches this flag.
Returns: The first entry is a list of tuples of Pyomo Sets. The second is a list of lists of Components, indexed by the corresponding sets in the first list. If the components are unindexed, ComponentData are returned and the tuple of sets contains only UnindexedComponent_set. If the components are indexed, they are references-to-slices.
Return type: List of tuples of Sets, list of lists of Components
-
pyomo.dae.flatten.
flatten_dae_components
(model, time, ctype, indices=None, active=None)[source] Partitions components into ComponentData and Components indexed only by the provided set.
Parameters: - model (_BlockData) – Block whose components are partitioned
- time (Set) – Indexing by this set (and only this set) will be preserved in the returned components.
- ctype (Subclass of Component) – Type of component to identify, partition, and return
- indices (Tuple or ComponentMap) – Contains the index of the specified set to be used when descending into blocks
- active (Bool or None) – If provided, used as a filter to only return components with the specified active flag. A reference-to-slice is returned if any data object defined by the slice matches this flag.
Returns: The first list contains ComponentData for all components not indexed by the provided set. The second contains references-to -slices for all components indexed by the provided set.
Return type: List of ComponentData, list of Component