生成切片组件
(函数来自 pyomo.dae.flatten)
- pyomo.dae.flatten.generate_sliced_components(b, index_stack, slice_, sets, ctype, index_map, active=None)[源代码]
递归生成指定ctype沿指定集合的切片
- Parameters:
b (BlockData) – 其组件将被切片的块
index_stack (list) – 设置在块层次结构中位于
b之上的集合,包括其父组件中已被切片的集合。这是为了返回已被切片的集合。slice (IndexedComponent_slice 或 BlockData) – 到目前为止生成的切片。此函数将在块层次结构的当前级别生成此切片的扩展。
集合 (ComponentSet 的 Pyomo 集合) – 将被切片的集合
ctype (子类 的 Component) – 要生成的组件类型
index_map (ComponentMap) – 从(部分)指定的集合到“代表索引”的映射,用于在进入子块时使用。虽然此映射不需要包含切片集合中的每个集合,但它不能包含任何不会被切片的集合。
active (Bool 或 None) – 如果不是 None,这是一个布尔标志,用于根据组件对象的活动状态进行过滤。
- Yields:
集合的元组和IndexedComponent_slice或ComponentData – 索引返回的组件或切片的集合。如果组件被索引,则返回IndexedComponent_slice。否则,返回ComponentData。