沿集合展平组件
(函数来自 pyomo.dae.flatten)
- pyomo.dae.flatten.flatten_components_along_sets(m, sets, ctype, indices=None, active=None)[source]
此函数遍历块中包含的组件(递归地),并将它们的数据对象分区为仅由指定集合索引的组件。
- Parameters:
m (BlockData) – 其组件(及其子组件)将被分区的块
sets (Tuple of Pyomo Sets) – 要切片的集合。返回的组件将由这些集合的某种组合索引(如果有的话)。
ctype (子类 的 Component) – 用于识别和分区的组件类型
indices (Iterable 或 ComponentMap) – 用于在子块中下降时使用的集合索引。如果提供了可迭代对象,顺序应与
sets中的顺序一致。如果提供了ComponentMap,则键必须在sets中。active (Bool 或 None) – 如果不是 None,这是一个布尔标志,用于根据其活动状态过滤组件对象。如果切片定义的任何数据对象与此标志匹配,则返回对切片的引用。
- Returns:
第一个条目是Pyomo集合的元组列表。第二个是组件列表的列表,由第一个列表中的相应集合索引。如果组件未索引,则返回ComponentData,并且集合的元组仅包含UnindexedComponent_set。如果组件已索引,则它们是对切片的引用。
- Return type:
集合的元组列表,list 组件的列表